package org.cying.main.handler;

import cn.hutool.http.HttpStatus;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import org.cying.main.domain.SampleResult;

/**
 * 全局限流处理器
 * @author Cying
 */
public class GlobalFlowHandler {
    
    /**
     * 无参限流处理方法, 返回提示
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult flowHandler(BlockException e) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }
    
    /**
     * 一个 String 参数的限流处理方法, 返回提示
     * @param s1 参数1
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult flowHandler_s(String s1, BlockException e) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }
    
    /**
     * 两个 String 参数限流处理方法, 返回提示
     * @param s1 参数1
     * @param s2 参数2
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult flowHandler_ss(String s1, String s2, BlockException e) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }
    
    /**
     * 一个 Long 参数的限流处理方法, 返回提示
     * @param l1 参数1
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult flowHandler_l(Long l1, BlockException e) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }

}
